import java.util.*;


public class Solution4 {
    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     *
     * 
     * @param s string字符串 
     * @return bool布尔型
     */
    public boolean isValid (String s) {
        // write code here
        Stack<Character> s1 = new Stack<>();
        char[] c = s.toCharArray();
        for(int i = 0;i<s.length();i++) {
            char ch = c[i];
            if(ch == '{' || ch == '[' || ch == '(') {
                s1.push(ch);
            } else {
                if(s1.isEmpty()) {
                    return false;
                } else {
                    char tmp = s1.pop();
                    if(ch == '}' && tmp != '{' || ch == ']' && tmp != '[' || ch == ')' && tmp != '(') {
                        return false;
                    }
                }
            }
        }
        if(s1.isEmpty()) {
            return true;
        } else {
            return false;
        }
    }
}